/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package be.vdab.util.mens;


import java.util.Arrays;
import java.util.Set;

import java.util.TreeSet;



/**
 *
 * @author dries.thieren
 */
public class Mens implements Comparable<Mens> {
    private String naam;
    private Rijbewijs[] rijbewijzen;
    
    public Mens(String string, Rijbewijs... rijbewijs)  { 
      Set<Rijbewijs> temp = new TreeSet(Arrays.asList(rijbewijs));
      rijbewijzen=temp.toArray(new Rijbewijs[0]);  
      this.naam=string;
    }
    public String getNaam() {
        return naam;
    }

    public Rijbewijs[] getRijbewijzen() {
        return rijbewijzen;
    }
    public Rijbewijs[] getRijbewijs() {
        return rijbewijzen;
    }
    @Override
    public int hashCode() {
        return this.naam.hashCode();
    }
    @Override
    public boolean equals(Object o) {
        if (o instanceof Mens) {
            Mens m = (Mens) o;
            if (naam.equals(m.getNaam())&& Arrays.equals(rijbewijzen, m.getRijbewijzen()))
            return true;
            else return false;
        }
        else return false;
    }
    @Override
    public int compareTo(Mens o) {
        if (naam.compareTo(o.getNaam())>0)
            return 1;
        if (naam.compareTo(o.getNaam())<0)
                return -1;
        else
            return 0;
    }
    @Override
    public String toString() {
        return (naam+Arrays.toString(rijbewijzen).replaceAll("\\[", "\\(").replaceAll("\\]","\\)"));
        
    }
}
